package cn.com.huzo.repository.master;

import cn.com.huzo.model.entities.master.SizeEntity;
import huzofw.repository.GenericRepository;
import java.util.List;

/**
 * 尺码数据访问对象接口。
 *
 * @author 吴旭
 */
public interface SizeRepository extends GenericRepository<SizeEntity, Long> {

    /**
     * 根据给定ID取得尺码信息对象。
     *
     * @param rootNodeName 尺码目录根节点名称
     * @param key 主键
     * @return 尺码信息对象
     */
    SizeEntity fetchByKey(String rootNodeName, Long key);

    /**
     * 返回给定尺码目录下的尺码信息数据列表
     * <p>
     * @param catalogueKey 检索条件
     * @return 尺码信息数据列表
     */
    List<SizeEntity> fetchAllByCatalogueKey(Long catalogueKey);

    /**
     * 批量更新成品尺码所属目录。
     *
     * @param itemList 要更新的尺码数据列表
     * @return 影响的行数
     */
    Integer batchChangeCatalogue(List<SizeEntity> itemList);

    /**
     * 返回当前目录下新数据OrderNo
     * <p>
     * @param catalogueId 目录标识
     * @return 顺序号
     */
    String fetchNewOrderNo(Long catalogueId);
}
